package com.kobe.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.kobe.common.annotation.Excel;
import com.kobe.common.core.domain.BaseEntity;

/**
 * 进出账主对象 sys_oa_finance
 *
 * @author ruoyi
 * @date 2025-10-20
 */
public class SysKobeFinance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long financeId;

    /** 项目ID */
    @Excel(name = "项目ID")
    private Long projectId;

    /** 账务名称 */
    @Excel(name = "账务名称")
    private String financeTitle;

    /** 经手人/付款方 */
    @Excel(name = "经手人/付款方")
    private String financeParties;

    /** 支付类型(1对公转账，2现金支付) */
    @Excel(name = "支付类型(1对公转账，2现金支付)")
    private String payType;

    /** 进出账类型(0支出，1入账) */
    @Excel(name = "进出账类型(0支出，1入账)")
    private String financeType;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date financeTime;

    /** 附件 */
    @Excel(name = "附件")
    private String accessory;

    /** 开票时间 */
    @Excel(name = "开票时间")
    private String makeTime;

    /** 开票比例 */
    @Excel(name = "开票比例")
    private String makeRatio;

    /** 开票金额 */
    @Excel(name = "开票金额")
    private String makePrice;

    public List<SysKobeDetail> getDetailList() {
        return detailList;
    }


    public void setDetailList(List<SysKobeDetail> detailList) {
        this.detailList = detailList;
    }

    /** 开票情况说明 */
    @Excel(name = "开票情况说明")
    private String makeExplain;

    private List<SysKobeDetail> detailList;

    public void setFinanceId(Long financeId)
    {
        this.financeId = financeId;
    }

    public Long getFinanceId()
    {
        return financeId;
    }

    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId()
    {
        return projectId;
    }

    public void setFinanceTitle(String financeTitle)
    {
        this.financeTitle = financeTitle;
    }

    public String getFinanceTitle()
    {
        return financeTitle;
    }

    public void setFinanceParties(String financeParties)
    {
        this.financeParties = financeParties;
    }

    public String getFinanceParties()
    {
        return financeParties;
    }

    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }

    public void setFinanceType(String financeType)
    {
        this.financeType = financeType;
    }

    public String getFinanceType()
    {
        return financeType;
    }

    public void setFinanceTime(Date financeTime)
    {
        this.financeTime = financeTime;
    }

    public Date getFinanceTime()
    {
        return financeTime;
    }

    public void setAccessory(String accessory)
    {
        this.accessory = accessory;
    }

    public String getAccessory()
    {
        return accessory;
    }

    public void setMakeTime(String makeTime)
    {
        this.makeTime = makeTime;
    }

    public String getMakeTime()
    {
        return makeTime;
    }

    public void setMakeRatio(String makeRatio)
    {
        this.makeRatio = makeRatio;
    }

    public String getMakeRatio()
    {
        return makeRatio;
    }

    public void setMakePrice(String makePrice)
    {
        this.makePrice = makePrice;
    }

    public String getMakePrice()
    {
        return makePrice;
    }

    public void setMakeExplain(String makeExplain)
    {
        this.makeExplain = makeExplain;
    }

    public String getMakeExplain()
    {
        return makeExplain;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("financeId", getFinanceId())
                .append("projectId", getProjectId())
                .append("financeTitle", getFinanceTitle())
                .append("financeParties", getFinanceParties())
                .append("payType", getPayType())
                .append("financeType", getFinanceType())
                .append("financeTime", getFinanceTime())
                .append("accessory", getAccessory())
                .append("makeTime", getMakeTime())
                .append("makeRatio", getMakeRatio())
                .append("makePrice", getMakePrice())
                .append("makeExplain", getMakeExplain())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("detailList", getDetailList())
                .toString();
    }
}
